import { delToken, getToken, setToken } from '@/utiles/storage'

const user = {
  namespaced: true,
  state: {
    // 从本地获取token值，使token持久化
    token: getToken(),
    tabsList: ''
  },
  mutations: {
    // 需要获取token，存在vuex以及本地token
    // login登录的时候接口有返回token数据
    // 在login通过commit触发mutations方法，并且把获取到的token传递过来
    gettoken (state, newtoken) {
      state.token = newtoken // vuex存token
      setToken(newtoken) // 本地存token
    },
    // 接收数据删token
    removeToken (state) {
      delToken()
      state.token = null
    },
    // 保存tabsList
    as (state, data) {
      state.tabsList = data
    }
  },
  // 点击退出的时候，需要把token删除掉
  // 需要actions把数据传mutations
  actions: {
    logoutAction (contex) {
      contex.commit('removeToken')
    },
    // 保存tabsList
    saveTabsList (contex, data) {
      contex.commit('as', data)
    }
  }
}
export default user
